課程名稱 |
系統程式設計 Systems Programming |
開課學期 |
112-1 |
授課對象 |
資訊工程學系 |
授課教師 |
鄭卜壬 |
課號 |
CSIE2210 |
課程識別碼 |
902 25900 |
班次 |
01 |
學分 |
3.0 |
全/半年 |
半年 |
必/選修 |
必帶 |
上課時間 |
星期四2,3,4(9:10~12:10) |
上課地點 |
資102 |
備註 |
限本系所學生(含輔系、雙修生) 且 限學士班二年級以上 且 限學號單號 總人數上限:100人 |
|
|
課程簡介影片 |
|
核心能力關聯 |
核心能力與課程規劃關聯圖 |
課程大綱
|
為確保您我的權利,請尊重智慧財產權及不得非法影印
|
課程概述 |
This course is designed for sophomore CS-major students and serves as the introduction system-level course. In this course, students will learn how to write the programs using system services in Unix-like systems. The topics covered in this course include:
1. Course Overview
2. Basic OS Concepts
3. Unix History, Standardization & Implementation
4. File Input and Output
5. Standard I/O Library
6. Files and Directories
7. System Data Files and Information (optional)
8. Environment of a Unix Process
9. Process Control
10. Process Relationships
11. Signals
12. Inter-process Communication
13. Thread Programming
14. Networking (optional) |
課程目標 |
The course expects the students
1. to be familiar with the UNIX-like systems.
It means to know how to make use of many tools/services provided by the system: commands, library calls or system calls. It also means that you understand the model of computation that Unix presents.
2. to become good system programmers.
It means that you should know how to write a descent C program in Unix/Linux as the semester is over. However, this course should not limit yourself in writing system programs in Unix/Linux. The learning process that you will have in this course should teach you how to program in any other operating systems which you might use later in your career. |
課程要求 |
Basic C/C++ programming |
預期每週課後學習時數 |
|
Office Hours |
每週二 09:30~11:30 備註: Make appointments first, please. |
指定閱讀 |
Advanced Programming in the Unix Environment, 3rd Edition, by Richard Stevens and Steven A Rago, Addison-Wesley, 2013 |
參考書目 |
1. Understanding UNIX/LINUX Programming: A Guide to Theory and Practice, by Bruce Molay, Prentice Hall, 2002.
2. The Art of Unix Programming, by Eric S. Raymond.
3. Managing Projects with make, by Andrew Oram and Steve Talbott, 1991. |
評量方式 (僅供參考) |
No. |
項目 |
百分比 |
說明 |
1. |
Assignments |
40% |
Programming (32%)+Hand-written (8%) |
2. |
Midterm Exam |
30% |
|
3. |
Final Exam |
30% |
|
|
針對學生困難提供學生調整方式 |
上課形式 |
|
作業繳交方式 |
|
考試形式 |
|
其他 |
由師生雙方議定 |
|
|